home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / CENTFREQ.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-27  |  2.7 KB  |  110 lines

  1. 10  'CENTFREQ - Centre Frequency - 16 JAN 96 rev.27 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  UL$=STRING$(80,205)
  6. 60  U$="###,###.###"
  7. 70  '
  8. 80  COLOR 15,2
  9. 90  PRINT " CENTRE FREQUENCY & WAVELENGTH";TAB(57);"by George Murphy VE3ERP ";
  10. 100  COLOR 1,0
  11. 110  PRINT STRING$(80,"<0xDF!>");
  12. 120  COLOR 7,0
  13. 130  '
  14. 140  GOSUB 820   'preface
  15. 150  PRINT UL$;
  16. 160  PRINT "      Press 1 to RUN program or 0 to EXIT.........."
  17. 170  Z$=INKEY$:IF Z$=""THEN 170
  18. 180  IF Z$="0"THEN CLS:RUN EX$
  19. 190  IF Z$="1"THEN 210
  20. 200  GOTO 170
  21. 210  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 4
  22. 220  PRINT UL$;
  23. 230  GOTO 300
  24. 240  '
  25. 250  '.....format input line
  26. 260  LOCATE CSRLIN-1:PRINT SPC(7);
  27. 270  LOCATE CSRLIN,31:PRINT STRING$(7,".");USING U$;ZZ;
  28. 280  RETURN
  29. 290  '
  30. 300  '.....input data
  31. 310  COLOR 0,7:LOCATE 3,8
  32. 320  PRINT " ENTER BOUNDARY FREQUENCIES....";
  33. 330  COLOR 7,0
  34. 340  PRINT TAB(44)"FREQUENCY";TAB(58)"WAVELENGTH"
  35. 350  LOCATE 5
  36. 360  INPUT " ENTER: HIGHEST Frequency F1....(MHz)";FH
  37. 370  ZZ=FH:GOSUB 250:PRINT " MHz";
  38. 380  WH=300/FH     'wavelength of highest frequency
  39. 390  PRINT TAB(55)USING U$;WH;:PRINT " m."
  40. 400  '
  41. 410  LOCATE 11
  42. 420  INPUT " ENTER: LOWEST Frequency F2.....(MHz)";FL
  43. 430  ZZ=FL:GOSUB 250:PRINT " MHz";
  44. 440  WL=300/FL     'wavelength of lowest frequency
  45. 450  PRINT TAB(55)USING U$;WL;:PRINT " m."
  46. 460  IF FL<FH THEN 540
  47. 470  '
  48. 480  BEEP:PRINT:COLOR 15,4
  49. 490  PRINT "        F2 must be LESS than F1 !   Press any key to start over....."
  50. 500  COLOR 7,0
  51. 510  IF INKEY$=""THEN 510
  52. 520  GOTO 30
  53. 530  '
  54. 540  '.....calculation
  55. 550  CFQ=SQR(FH*FL)              'centre frequency
  56. 560  CFW=300/CFQ                 'wavelength of centre frequency
  57. 570  '
  58. 580  AMF=(FL+FH)/2               'arithmetic mean frequency
  59. 590  WMF=300/AMF                 'wavelength of arithmetic mean frequency
  60. 600  '
  61. 610  AMW=(300/FL+300/FH)/2       'arithmetic mean wavelength
  62. 620  FMW=300/AMW                 'frequency of arithmetic mean wavelength
  63. 630  '
  64. 640  FBW=FH-FL                   'bandwidth - frequency
  65. 650  '
  66. 660  LOCATE 3:PRINT STRING$(40,32)
  67. 670  LOCATE 7
  68. 680  PRINT "        Arithmetic Mean Frequency....";USING U$;AMF;:PRINT " MHz";
  69. 690  PRINT TAB(55)USING U$;WMF;:PRINT " m."
  70. 700  COLOR 0,7:LOCATE CSRLIN,8
  71. 710  PRINT " CENTRE FREQUENCY (<UNK! {00FB}>{F1<UNK! {00F9}>F2})..";USING U$;CFQ;:PRINT " MHz";
  72. 720  PRINT TAB(55)USING U$;CFW;:PRINT " m."
  73. 730  COLOR 7,0
  74. 740  PRINT "        Arithmetic Mean Wavelength...";USING U$;FMW;:PRINT " MHz";
  75. 750  PRINT TAB(55)USING U$;AMW;:PRINT " m."
  76. 760  '
  77. 770  LOCATE 12
  78. 780  PRINT UL$;
  79. 790  PRINT "        Bandwidth (F1-F2)............";USING U$;FBW;:PRINT " MHz"
  80. 800  GOTO 920  'end
  81. 810  '
  82. 820  '.....preface
  83. 830  T=7
  84. 840  PRINT TAB(7);
  85. 850  PRINT "This program computes the Centre Frequency, Arithmetic Mean"
  86. 860  PRINT TAB(7);
  87. 870  PRINT "Frequency and Arithmetic Mean Wavelength between any two boundary"
  88. 880  PRINT TAB(7);
  89. 890  PRINT "frequencies."
  90. 900  RETURN
  91. 910  '
  92. 920  '.....end
  93. 930  GOSUB 970
  94. 940  GOTO 30
  95. 950  END
  96. 960  '
  97. 970  'HARDCOPY
  98. 980  GOSUB 1090:LOCATE 25,2:COLOR 14,6
  99. 990  PRINT " Press 1 to print screen, 2 to print screen & ";
  100. 1000  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  101. 1010  Z$=INKEY$:IF Z$="3"THEN GOSUB 1090:RETURN
  102. 1020  IF Z$="1"OR Z$="2"THEN GOSUB 1090:GOTO 1040
  103. 1030  GOTO 1010
  104. 1040  FOR QX=1 TO 24:FOR QY=1 TO 80
  105. 1050  LPRINT CHR$(SCREEN(QX,QY));
  106. 1060  NEXT QY:NEXT QX
  107. 1070  IF Z$="2"THEN LPRINT CHR$(12)
  108. 1080  GOTO 980
  109. 1090  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  110.